#pragma once

#include <string>
#include <vector>
#include <utility>

class LGrammarRule {
public:
	LGrammarRule(char nt, std::string prod, int prob = 1);
	LGrammarRule(const LGrammarRule &rhs);
	LGrammarRule& operator=(const LGrammarRule &rhs);
	~LGrammarRule();
	char getNonTerminal(void);
	std::string getProduction(void);
	void addProductionRule(std::string production, int w);
private:
//	struct LProductionPair;
	char nonTerminal;
//	std::list<LProductionPair> productionList;
	std::vector<std::string> productionList;
};